1. Field of the Invention
The present invention relates generally to a system and method for controlling congestion in wireless mesh networks. More particularly, the present invention relates to a system and method for controlling congestion using Request-to-Send (RTS) and Clear-to-Send (CTS) in wireless mesh networks or Ad-Hoc networks.
2. Description of the Related Art
Conventional wireless networks have star topologies of Point-to-Point or Point-to-Multipoint. Recently, interest in the wireless networks with a Multipoint-to-Multipoint mesh topologies has increased.
In the wireless networks, congestion may occur at the node where an incoming rate of a packet is higher than an outgoing rate. The congestion is not a serious problem in the conventional one-hop or peer-to-peer networks. However, the multi-Hop mesh networks experience considerable problems resulting from the congestion.
The conventional methods for solving the congestion problem will now be described below.
A first conventional method uses an explicit congestion control message. According to this method, each node maintains a route depending on an outgoing rate and an incoming rate for its efficient medium access control. Each node also monitors a backpressure indicative of a difference between the outgoing rate and the incoming rate. The rate control aims to maintain the backpressure approaching 0 for a local node. If the backpressure is greater than 0, the congestion occurs. If congestion occurs, a downstream node (or receiver) transmits a Congestion Control Request (CCR) message indicating the congestion state to an upstream node (or sender). Upon receiving the message, the sender applies rate control to relieve the congestion around the receiver and transmits a Congestion Control Response message back to the receiver. The CCR/CCP messages can only regulate the packet incoming rate from the current sender. To avoid new neighbors sending packets to the congested receiver, the receiver has to send a Neighborhood Congestion Announcement message to all neighbors. However, this conventional method may also cause congestion by casting additional control messages to the node (receiver) where the congestion state has already occurred. In addition, the three added new frames reduce the efficiency of the network.
A second conventional method uses an Acknowledge Character (ACK) as a congestion notification. According to this method, if congestion occurs, a receiver transmits congestion notification information to a sender using an ACK frame. In response, the sender adjusts the packet transmission rate. However, in this conventional method, the ACK frame is transmitted only to the node that has transmitted data. Therefore, other nodes that have not transmitted data cannot receive the ACK frame. As a result, the receiver may receive data from neighboring nodes that did not to receive the ACK frame even in the congestion state. This will subsequently cause an increase in the congestion.
A third conventional method indicates the congestion using a beacon frame. According to this method, a node transmits a notification indicating its own congestion level to another node using a selected beacon frame. The neighboring nodes also transmit notifications indicating their own states using a selected beacon frame. Upon receiving the notification indicating the congestion level, each node adjusts its transmission rate. In this conventional method, time blanks may exist since the beacon frame is periodically transmitted. This is because when the congestion occurs, the congestion node cannot inform its neighbors until a next beacon time arrives. This results in further neglecting the congestion state until a transmission period of the beacon frame arrives. In addition, even though the congestion has been removed, this method can only announce it when the next beacon time arrives, making the network throughput inefficient. Moreover, the mesh network system, compared with the single-hop network, needs more complex scheduling in order to prevent beacon frames from colliding with each other.
As described above, the first conventional method using the explicit congestion control message casts additional control traffic to the congestion node, causing further congestion. The second conventional method uses an ACK as a congestion notification, thus causing an increase in the congestion. The third conventional method using the beacon frame for congestion indication cannot immediately cope with the congestion state, and has very complex scheduling.
Accordingly, there is a need for an improved system and method for providing congestion control for mesh networks, capable of increasing network efficiency, receiving congestion control from all nodes, and immediately coping with a congestion state.